package com.hn.zhijian.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * @author carl chen
 * @Classname BigDecimalUtil
 * @Description 金额工具类
 * @Date 2019/11/12 19:59
 */
public class BigDecimalUtil {
    /**
     *  保留几位小数
     * @param b
     * @param locate
     * @return
     */
    public static String round(Double b,int locate){
        BigDecimal bigDecimal = new BigDecimal(b+"");
       return  bigDecimal.setScale(locate, RoundingMode.HALF_UP).toString();
    }
    /**
     * 两个数相加
     *
     * @param v1
     * @param v2
     * @return
     */
    public static String add(String v1, String v2) {

        if (Utils.isEmpty(v1) && Utils.isEmpty(v2)) {
            return "";
        } else if (Utils.isEmpty(v1)) {
            return v2;
        } else if (Utils.isEmpty(v2)) {
            return v1;
        }
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        return b1.add(b2).toString();
    }

    public static boolean isAdd(Double a, Double b, Double c) {
        BigDecimal b1 = new BigDecimal(a);
        BigDecimal b2 = new BigDecimal(b);
        BigDecimal b3 = new BigDecimal(c);
        BigDecimal bigDecimal = new BigDecimal(b1.add(b2).doubleValue());
        return bigDecimal.setScale(3, BigDecimal.ROUND_HALF_UP).toString().equals(b3.setScale(3, BigDecimal.ROUND_HALF_UP).toString());

    }

}
